 function tiles(l,spacing,min,max,fmt,breaks,\
                ns,v,p,sorted,n,i,out,str) {
   fmt     = fmt ? fmt : ", %3.1f"
   spacing = spacing > 0 ? spacing : 25  
   breaks = breaks ? breaks : "0.05,0.25,0.5,0.75,0.95"
   split(breaks,n,",")
   ns = asort(l,sorted)
   max = max == "" ? sorted[ns] : max
   min = min == "" ? sorted[1]  : min
   for(i in n)  
       v[i] = sorted[int(length(sorted)*n[i])] 
   for(i in v)  
       p[i] = int((v[i] - min) / (max - min) * spacing)
   for(i=1    ; i<=spacing ; i++) out[i]=" "
   for(i=p[1] ; i<=p[2]    ; i++) out[i]="-" 
   for(i=p[4] ; i<=p[5]    ; i++) out[i]="-" 
   out[ (p[3] == 0) ? 1 : p[3] ] = "|"
   for(i=1;i<=spacing;i++) 
     str=str out[i]
   if   (v[2] == v[3]) 
        printf("[%s] " fmt fmt fmt "\n",str,v[1],v[3],v[5])  
   else printf("[%s] " fmt fmt fmt fmt fmt "\n",str,v[1],v[2],v[3],v[4],v[5])
 }
